package org.ipb.controller.modul.pegawai;

import org.ipb.model.Agama;
import org.ipb.model.Pegawai;
import org.ipb.model.StatusKawin;
import org.ipb.model.StatusKepegawaian;
import org.ipb.model.StatusPegawai;

import util.hibernate.DAO;

import com.opensymphony.xwork2.ActionSupport;

public class ActionCrud extends ActionSupport {
	private static final long serialVersionUID = -5933849517817526086L;
	private String id;
	private String nip;
	private String nipLama;
	private String nama;
	private String inisial;
	private String gelarDepan;
	private String gelarBelakang;
	private String instansiAsal;
	private String namaIbuKandung;
	private String tempatLahir;
	private String tanggalLahir;
	private String jenisKelamin;
	private String statusKawin;
	private String agama;
	private String oper;
	private String statusPegawai;
	private String statusKepegawaian;
	private int statusTaspen;
	private String nomorNPWP;
	private String nomorKarpeg;
	private String nomorKTP;

	public String getNamaIbuKandung() {
		return namaIbuKandung;
	}

	public void setNamaIbuKandung(String namaIbuKandung) {
		this.namaIbuKandung = namaIbuKandung;
	}

	public String getTempatLahir() {
		return tempatLahir;
	}

	public void setTempatLahir(String tempatLahir) {
		this.tempatLahir = tempatLahir;
	}

	public String getTanggalLahir() {
		return tanggalLahir;
	}

	public void setTanggalLahir(String tanggalLahir) {
		this.tanggalLahir = tanggalLahir;
	}

	public String getOper() {
		return oper;
	}

	public void setOper(String oper) {
		this.oper = oper;
	}

	public String insert() {
		DAO<Integer> dao = new DAO<Integer>();
		Pegawai object = new Pegawai();

		Agama agamaPegawai = new Agama();
		agamaPegawai.setId(Integer.valueOf(getAgama()));

		StatusKawin statusKawinPegawai = new StatusKawin();
		statusKawinPegawai.setId(Integer.valueOf(getStatusKawin()));

		StatusPegawai statusPegawaiObj = new StatusPegawai();
		statusPegawaiObj.setId(Integer.valueOf(getStatusPegawai()));

		StatusKepegawaian statusKepegawaianObj = new StatusKepegawaian();
		statusKepegawaianObj.setId(Integer.valueOf(getStatusKepegawaian()));

		object.setNama(getNama());
		object.setInisial(getInisial());
		object.setNamaIbuKandung(getNamaIbuKandung());
		object.setTanggalLahir(getTanggalLahir());
		object.setTempatLahir(getTempatLahir());
		object.setJenisKelamin(getJenisKelamin());
		object.setNip(getNip());

		object.setGelarDepan(getGelarDepan());
		object.setGelarBelakang(getGelarBelakang());

		object.setNomorNPWP(getNomorNPWP());
		object.setNomorKTP(getNomorKTP());
		object.setNomorKarpeg(getNomorKarpeg());
		object.setStatusTaspen(getStatusTaspen());
		object.setNipLama(getNipLama());

		object.setStatusKawin(statusKawinPegawai);
		object.setAgama(agamaPegawai);
		object.setStatusPegawai(statusPegawaiObj);
		object.setStatusKepegawaian(statusKepegawaianObj);
		Integer pegawai = dao.insert(object);
		dao.close();
		id = String.valueOf(pegawai);
		return "empty";
	}

	public String update() {
		DAO<Integer> dao = new DAO<Integer>();
		Pegawai object = (Pegawai) dao.find(Pegawai.class,
				Integer.valueOf(getId()));

		Agama agamaPegawai = new Agama();
		agamaPegawai.setId(Integer.valueOf(getAgama()));

		StatusKawin statusKawinPegawai = new StatusKawin();
		statusKawinPegawai.setId(Integer.valueOf(getStatusKawin()));
		StatusPegawai statusPegawaiObj = new StatusPegawai();
		statusPegawaiObj.setId(Integer.valueOf(getStatusPegawai()));

		StatusKepegawaian statusKepegawaianObj = new StatusKepegawaian();
		statusKepegawaianObj.setId(Integer.valueOf(getStatusKepegawaian()));

		object.setNama(getNama());
		object.setInisial(getInisial());

		object.setNamaIbuKandung(getNamaIbuKandung());
		object.setTanggalLahir(getTanggalLahir());
		object.setTempatLahir(getTempatLahir());
		object.setJenisKelamin(getJenisKelamin());
		object.setNip(getNip());

		object.setGelarDepan(getGelarDepan());
		object.setGelarBelakang(getGelarBelakang());

		object.setNomorNPWP(getNomorNPWP());
		object.setNomorKTP(getNomorKTP());
		object.setNomorKarpeg(getNomorKarpeg());
		
		object.setStatusTaspen(getStatusTaspen());
		object.setNipLama(getNipLama());

		object.setStatusKawin(statusKawinPegawai);
		object.setAgama(agamaPegawai);
		object.setStatusPegawai(statusPegawaiObj);
		object.setStatusKepegawaian(statusKepegawaianObj);
		dao.update(object);
		dao.close();
		return "empty";
	}

	public String delete() {
		DAO<Integer> dao = new DAO<Integer>();
		Pegawai delete = (Pegawai) dao.find(Pegawai.class,
				Integer.valueOf(getId()));
		dao.delete(delete);
		dao.close();
		return "empty";
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getNama() {
		return nama;
	}

	public void setNama(String nama) {
		this.nama = nama;
	}

	public String getNip() {
		return nip;
	}

	public void setNip(String nip) {
		this.nip = nip;
	}

	public String getInisial() {
		return inisial;
	}

	public void setInisial(String inisial) {
		this.inisial = inisial;
	}

	public String getJenisKelamin() {
		return jenisKelamin;
	}

	public void setJenisKelamin(String jenisKelamin) {
		this.jenisKelamin = jenisKelamin;
	}

	public String getAgama() {
		return agama;
	}

	public void setAgama(String agama) {
		this.agama = agama;
	}

	public String getStatusKawin() {
		return statusKawin;
	}

	public void setStatusKawin(String statusKawin) {
		this.statusKawin = statusKawin;
	}

	public String getStatusPegawai() {
		return statusPegawai;
	}

	public void setStatusPegawai(String statusPegawai) {
		this.statusPegawai = statusPegawai;
	}

	public String getStatusKepegawaian() {
		return statusKepegawaian;
	}

	public void setStatusKepegawaian(String statusKepegawaian) {
		this.statusKepegawaian = statusKepegawaian;
	}

	public String getNipLama() {
		return nipLama;
	}

	public void setNipLama(String nipLama) {
		this.nipLama = nipLama;
	}

	public String getGelarDepan() {
		return gelarDepan;
	}

	public void setGelarDepan(String gelarDepan) {
		this.gelarDepan = gelarDepan;
	}

	public String getGelarBelakang() {
		return gelarBelakang;
	}

	public void setGelarBelakang(String gelarBelakang) {
		this.gelarBelakang = gelarBelakang;
	}

	public String getInstansiAsal() {
		return instansiAsal;
	}

	public void setInstansiAsal(String instansiAsal) {
		this.instansiAsal = instansiAsal;
	}

	public int getStatusTaspen() {
		return statusTaspen;
	}

	public void setStatusTaspen(int statusTaspen) {
		this.statusTaspen = statusTaspen;
	}

	public String getNomorNPWP() {
		return nomorNPWP;
	}

	public void setNomorNPWP(String nomorNPWP) {
		this.nomorNPWP = nomorNPWP;
	}

	public String getNomorKarpeg() {
		return nomorKarpeg;
	}

	public void setNomorKarpeg(String nomorKarpeg) {
		this.nomorKarpeg = nomorKarpeg;
	}

	public String getNomorKTP() {
		return nomorKTP;
	}

	public void setNomorKTP(String nomorKTP) {
		this.nomorKTP = nomorKTP;
	}

}
